package mapelements.foreground;


/**implementare questa classe significa dire che l'oggetto che la usa si può interessare di eventi
 * provenienti dai Foreground. Quando un foreground viene modificato all'interno della mappa (e per
 * modifica intendiamo il cambiamento di uno dei suoi attributi, non la sua inserzione o la sua elisione dalla
 * mappa), tale foreground lancia eventi di tipo ForegroundEvent ai suoi listener. Nell'albero delle interfacce
 * un foreground generico può vedere modificati o la sua <tt>shape</tt> oppure (ma solo in caso di MapObject) la sua
 * <tt>position</tt>.
 * 
 * <p>Puoi usare il metodo <code>ForegroundEvent.getSource()</code> per ottenere il foreground che è appena stato modificato
 * e quindi vedere i suoi nuovi valori.
 *  
 * 
 * @author koldar
 * @version 1.0
 */
public interface ForegroundListener {

	/**lista di istruzioni da eseguire quando la posizione di un MapObject (x;y) viene modificata
	 * 
	 * @param arg0
	 */
	public void positionChanged(MapObjectEvent arg0);
	/**lista di istruzioni da eseguire quando la forma di un Foreground viene alterata.
	 * 
	 * @param arg0
	 */
	public void shapeChanged(ForegroundEvent arg0);
}
